package cn.fl.project.transform;

import java.util.ArrayList;
import java.util.List;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.project.dto.PrjCstCorpBscInfoDTO;
import cn.fl.project.vo.PrjCstCorpBscInfoVO;

 /**
 * @Description: 项目法人客户基础信息表 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据 
 * @Description: VO转换数据变成DTO传递到服务端 
 * @Description: VO不能在服务端出现
 */
public class PrjCstCorpBscInfoVOTransform {


	/**
	 * DTO 转  VO
	 * @param po PrjCstCorpBscInfoDTO
	 * @return PrjCstCorpBscInfoVO
	 */
	public static PrjCstCorpBscInfoVO toVO(PrjCstCorpBscInfoDTO dto) {
		PrjCstCorpBscInfoVO  vo = null;
		if (dto != null) { 
			vo = new PrjCstCorpBscInfoVO();
			vo.setId(dto.getId());
			vo.setPrjId(dto.getPrjId());//项目ID
			vo.setCstId(dto.getCstId());//客户ID
			vo.setShtNm(dto.getShtNm());//公司简称
			vo.setSucc(dto.getSucc());//社会统一信用代码
			vo.setTaxRegNo(dto.getTaxRegNo());//税务登记号
			vo.setCorpTypCd(dto.getCorpTypCd());//企业性质（CST0010）
			vo.setBizLicNo(dto.getBizLicNo());//营业执照注册号
			vo.setRegDt(dto.getRegDt());//成立日期
			vo.setExpDt(dto.getExpDt());//有效日期
			vo.setRegCapAmt(dto.getRegCapAmt());//注册资本
			vo.setRegCapUntCd(dto.getRegCapUntCd());//注册资本计量单位（CST0011）
			vo.setPaidCapAmt(dto.getPaidCapAmt());//实收资本
			vo.setPaidCapUntCd(dto.getPaidCapUntCd());//实收资本计量单位（CST0011）
			vo.setWebsit(dto.getWebsit());//公司网站
			vo.setBizScope(dto.getBizScope());//经营范围
			vo.setEmpQtyCd(dto.getEmpQtyCd());//员工数量（SYS0015）
			vo.setCorpTax(dto.getCorpTax());//企业传真
			vo.setZipNo(dto.getZipNo());//通讯地址邮编
			vo.setOfficeTel(dto.getOfficeTel());//办公电话
			vo.setOfficeAddr(dto.getOfficeAddr());//办公地址
			vo.setRegTel(dto.getRegTel());//注册电话
			vo.setRegAddr(dto.getRegAddr());//注册地址
			vo.setPostAddr(dto.getPostAddr());//通讯地址
			vo.setOthInfo(dto.getOthInfo());//其他信息
			vo.setOfficeArea(dto.getOfficeArea());//办公用房使用权面积（平方米）
			vo.setPrpAttr(dto.getPrpAttr());//房产属性
			vo.setLoanCardNo(dto.getLoanCardNo());//贷款卡号
			vo.setLoanCardPwd(dto.getLoanCardPwd());//贷款卡密码
			vo.setLoanAss(dto.getLoanAss());//企业章程中关于贷款事项的约定
			vo.setGuarTypCd(dto.getGuarTypCd());//担保方式（PRJ0019），客户为担保人时录入
			vo.setGuarAmt(dto.getGuarAmt());//最高保证金额（元），客户为担保人时录入
			vo.setIsDel(dto.getIsDel());
			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人
			vo.setPrjCstCorpTeamVO(PrjCstCorpTeamVOTransform.toVO(dto.getPrjCstCorpTeamDTO()));
		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param dto PrjCstCorpBscInfoVO
	 * @return PrjCstCorpBscInfoDTO
	 */
	public static PrjCstCorpBscInfoDTO toDTO(PrjCstCorpBscInfoVO vo) {
		PrjCstCorpBscInfoDTO dto = null;
		if (vo != null) {
			dto = new PrjCstCorpBscInfoDTO();
			dto.setId(vo.getId());
			dto.setPrjId(vo.getPrjId());//项目ID
			dto.setCstId(vo.getCstId());//客户ID
			dto.setShtNm(vo.getShtNm());//公司简称
			dto.setSucc(vo.getSucc());//社会统一信用代码
			dto.setTaxRegNo(vo.getTaxRegNo());//税务登记号
			dto.setCorpTypCd(vo.getCorpTypCd());//企业性质（CST0010）
			dto.setBizLicNo(vo.getBizLicNo());//营业执照注册号
			dto.setRegDt(vo.getRegDt());//成立日期
			dto.setExpDt(vo.getExpDt());//有效日期
			dto.setRegCapAmt(vo.getRegCapAmt());//注册资本
			dto.setRegCapUntCd(vo.getRegCapUntCd());//注册资本计量单位（CST0011）
			dto.setPaidCapAmt(vo.getPaidCapAmt());//实收资本
			dto.setPaidCapUntCd(vo.getPaidCapUntCd());//实收资本计量单位（CST0011）
			dto.setWebsit(vo.getWebsit());//公司网站
			dto.setBizScope(vo.getBizScope());//经营范围
			dto.setEmpQtyCd(vo.getEmpQtyCd());//员工数量（SYS0015）
			dto.setCorpTax(vo.getCorpTax());//企业传真
			dto.setZipNo(vo.getZipNo());//通讯地址邮编
			dto.setOfficeTel(vo.getOfficeTel());//办公电话
			dto.setOfficeAddr(vo.getOfficeAddr());//办公地址
			dto.setRegTel(vo.getRegTel());//注册电话
			dto.setRegAddr(vo.getRegAddr());//注册地址
			dto.setPostAddr(vo.getPostAddr());//通讯地址
			dto.setOthInfo(vo.getOthInfo());//其他信息
			dto.setOfficeArea(vo.getOfficeArea());//办公用房使用权面积（平方米）
			dto.setPrpAttr(vo.getPrpAttr());//房产属性
			dto.setLoanCardNo(vo.getLoanCardNo());//贷款卡号
			dto.setLoanCardPwd(vo.getLoanCardPwd());//贷款卡密码
			dto.setLoanAss(vo.getLoanAss());//企业章程中关于贷款事项的约定
			dto.setGuarTypCd(vo.getGuarTypCd());//担保方式（PRJ0019），客户为担保人时录入
			dto.setGuarAmt(vo.getGuarAmt());//最高保证金额（元），客户为担保人时录入
			dto.setIsDel(vo.getIsDel());
			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人
			dto.setPrjCstCorpTeamDTO(PrjCstCorpTeamVOTransform.toDTO(vo.getPrjCstCorpTeamVO()));
		}
		return dto;
	}
	
	/**
	 * DTO集合 转 VO集合
	 * @param List<PrjCstCorpBscInfoDTO>
	 * @return List<PrjCstCorpBscInfoVO>
	 */
	public static List<PrjCstCorpBscInfoVO> toVOList(List<PrjCstCorpBscInfoDTO> list) {
		List<PrjCstCorpBscInfoVO>  voList = new ArrayList<PrjCstCorpBscInfoVO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (PrjCstCorpBscInfoDTO dto : list) {
				voList.add(toVO(dto));
			}
		}
		return voList;
	}
	
	/**
	 * VO集合 转 DTO集合
	 * @param list List<PrjCstCorpBscInfoVO>
	 * @return List<PrjCstCorpBscInfoDTO>
	 */
	public static List<PrjCstCorpBscInfoDTO> toDTOList(List<PrjCstCorpBscInfoVO> list) {
		List<PrjCstCorpBscInfoDTO>  dtoList = new ArrayList<PrjCstCorpBscInfoDTO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (PrjCstCorpBscInfoVO vo : list) {
				dtoList.add(toDTO(vo));
			}
		}
		return dtoList;
	}
}
